#include "enroll.h"
#include "login.h"
#include "system.h"
#include "ui_login.h"
#include <QDebug>
#include <QMessageBox>
#include <QSqlQuery>

login::login(QWidget* parent)
    : QWidget(parent)
    , ui(new Ui::login)
{
    ui->setupUi(this);

    qDebug() << QSqlDatabase::drivers();
    m_db = QSqlDatabase::addDatabase("QMYSQL");
    m_db.setHostName("localhost");//主机名
    m_db.setPort(3306);
    m_db.setDatabaseName("user");
    m_db.setUserName("root");
    m_db.setPassword("123456");
    m_db.open();
    if(m_db.open())
    {
        qDebug() << "连接成功!!!";
    }
    else
    {
        qDebug() << "连接失败!!!";
    }
}

login::~login()
{
    delete ui;
}


void login::on_pushButtonLogin_clicked()
{
    qDebug() << "确定按钮被点击了";
    QString username = ui->AccountNumber->text();
    QString password = ui->Password->text();

    QSqlQuery query;
    query.prepare("SELECT Password FROM users WHERE UserName = ?"); // 假设有一个名为 "users" 的表，其中包含用户名和密码字段
    query.addBindValue(username);
    query.exec();
    if(query.next())    // 如果查询返回结果
    {
        QString db_Password = query.value(0).toString(); // 获取数据库中的密码
        if(db_Password == password)    // 如果输入的密码与数据库中的密码匹配
        {
            // 登录成功逻辑
            qDebug() << "登录成功！！！";
            System* m = new System();
            m->show();
            this->close();
        }
        else     // 如果密码不匹配，给出提示或处理错误
        {
            QMessageBox::critical(this, "错误", "用户名或密码不正确");
        }
    }
    else     // 如果查询没有返回结果，给出提示或处理错误
    {
        QMessageBox::critical(this, "错误", "用户不存在");
    }

    qDebug() << ui->AccountNumber->text();
    qDebug() << ui->Password->text();
}

void login::on_pushButtonEnroll_clicked()
{
    Enroll* m = new Enroll();
    m->show();
    this->close();
}
